/**
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved. <br/>
 * 描述: TODO <br/>
 *
 * @author framework generator
 * @date 2022年08月26日
 * @version 2.0
 */
package com.icinfo.cloud.provider.punish.execute.mapper;

import com.icinfo.cloud.provider.punish.execute.dto.ExecuteDocumentRecordDto;
import com.icinfo.cloud.provider.punish.execute.dto.ExecuteStageLinkRelateDocumentQueryDto;
import com.icinfo.cloud.provider.punish.execute.model.ExecuteDocumentRecord;
import com.icinfo.cloud.provider.punish.execute.vo.ExecuteStageLinkRelateDocumentVo;
import com.icinfo.cloud.provider.punish.ucase.casemain.dto.AppCaseDocumentRecordDto;
import com.icinfo.cloud.provider.punish.ucase.casemain.dto.CaseDocumentRecordDto;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.AppCaseBeforeDocumentRecordVo;
import com.icinfo.framework.mybatis.mapper.common.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 描述: 裁执分离文书记录表 execute_document_record 对应的Mapper接口.<br>
 *
 * @author framework generator
 * @date 2022年08月26日
 */
public interface ExecuteDocumentRecordMapper extends Mapper<ExecuteDocumentRecord> {
    /**
     * 查询裁执分离文书列表
     * @author liyafeng
     * @date 2022/8/15
     * @param query
     * @return {@link List< ExecuteStageLinkRelateDocumentVo>}
     */
    List<ExecuteStageLinkRelateDocumentVo> selectExecuteStageLinkRelateDocumentInfo(ExecuteStageLinkRelateDocumentQueryDto query);

    /**
     * 描述: 获取app文书记录
     *
     * @param dto
     * @return java.util.List
     * @author zhanghongqiang
     * @Date 2022/9/7
     */
    List<AppCaseBeforeDocumentRecordVo> selectAppCaseBeforeDocumentRecordList(@Param("dto") AppCaseDocumentRecordDto dto);

    /**
     * 根据caseId和documentKindCode获取文书记录
     *
     * @param executeId    裁执分离id
     * @param documentKindCode 文件类型代码
     * @return {@link ExecuteDocumentRecordDto }
     * @author shishengyao
     * @date 2022/04/10
     */
    ExecuteDocumentRecordDto selectExecuteDocumentRecordByKindCode(@Param("executeId") String executeId, @Param("documentKindCode") String documentKindCode);

}